from agno.agent import Agent
from agno.db.sqlite import SqliteDb
from agno.models.openai import OpenAIChat, OpenAILike
from agno.tools.memory import MemoryTools
from configs.basic_config import ALI_GENERATION_MODEL, AGENT_URL, ALI_DASHSCOPE_API_KEY


# 创建数据库连接
db = SqliteDb(
    db_file="tmp/memory.db"
)

memory_tools = MemoryTools(
    db=db,
)

agent = Agent(
    #model=OpenAIChat(id="gpt-5-mini"),
    model=OpenAILike(id=ALI_GENERATION_MODEL, name=ALI_GENERATION_MODEL, api_key=ALI_DASHSCOPE_API_KEY,
                     base_url=AGENT_URL),
    tools=[memory_tools],
    markdown=True,
)

agent.print_response(
    "我叫赵梓超，我喜欢在周末去山里徒步旅行。"
    "我喜欢去新的地方旅行，体验不同的文化。"
    "我计划在十二月去华盛顿旅行。",
    user_id="zzcusa@example.com",
    stream=True
)

# 这不会使用会话历史记录，而是会使用记忆工具来获取记忆
agent.print_response("你记住了关于我的什么信息？", stream=True, user_id="zzcusa@example.com")